<?php

    $config=json_decode(CONFIG);

    //公共函数
    require "commonFunction.php";
    //数据库公共类
    require "./core/class/dbh.class.php"; 
    //响应公共类
    require "./core/class/response.class.php";
    //控制器公共类 
    require "./core/class/controler.calss.php"; 
    //获取文件路径，控制器（类），和方法
    $pat_arr=explode("/",$_SERVER['PATH_INFO']);
    $filePath=substr($_SERVER['PATH_INFO'],0,strrpos($_SERVER['PATH_INFO'],"/"))?substr($_SERVER['PATH_INFO'],0,strrpos($_SERVER['PATH_INFO'],"/")):"";
    if(count($pat_arr)>3) $filePath=$pat_arr[count($pat_arr)-1]?substr($filePath,0,strrpos($filePath,"/")):$filePath;
    $className=count($pat_arr)<4?$pat_arr[count($pat_arr)-1]?$pat_arr[count($pat_arr)-1]:"index":"";
    if(count($pat_arr)>3) $className=$pat_arr[count($pat_arr)-1]?$pat_arr[count($pat_arr)-2]:"index";
    $functionName=count($pat_arr)>3?$pat_arr[count($pat_arr)-1]?$pat_arr[count($pat_arr)-1]:"index":"index";
    //默认访问路径
    if(count($pat_arr)==1){
        $filePath=$config->default_controler;
        if (substr($filePath,0,1)!="/") $filePath="/".$filePath;
    }
    
    // echo $filePath."<br>";
    // echo $className."<br>";
    // echo $functionName ."<br>";
    // exit;
    

    //全局变量
    define("CLASSNAME",$className);
    define("FILEPATH",$filePath);
    define("FUNCTIONNAME",$functionName);
    define("REQUEST_URI",str_replace("/","_",$_SERVER['REQUEST_URI']));

    $className=$className."Controler";
    $filePath=$_SERVER['DOCUMENT_ROOT']."/controler".$filePath."/".$className.".php";

    //包含文件
    if(file_exists($filePath)){
    require $filePath; 
    }
    else{
    die("没有找到控制器：".$filePath);
    }
    if(class_exists($className)){
    //引用类
    $class=new $className;
    }
    else{
    die("没有找到类:".$className);
    }
    //访问方法
    if(method_exists($class,$functionName)){
    $class->$functionName();
    }
    else{
    die("没有找到方法:".$functionName);
    }